package com.ut.animator.curve;


public abstract class ITimelineCurve<T> {

    protected IEvaluator<T> evaluator;

    protected T value;

    protected T startValue, endValue;

    public abstract T evaluate(float fraction, T startValue, T endValue);

    public IEvaluator<T> getEvaluator() {
        return evaluator;
    }

    public void setEvaluator(IEvaluator<T> evaluator) {
        this.evaluator = evaluator;
    }

    public T getValue() {
        return value;
    }

    public void setValue(T value) {
        this.value = value;
    }

    public T getStartValue() {
        return startValue;
    }

    public void setStartValue(T startValue) {
        this.startValue = startValue;
    }

    public T getEndValue() {
        return endValue;
    }

    public void setEndValue(T endValue) {
        this.endValue = endValue;
    }
}
